using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Gestion_Comercial._2_Logica_de_Negocio;

namespace Gestion_Comercial
{
    public partial class ProyectoDetalle : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if(Request.QueryString["ID"] == "-1")
                CambiarModo(FormViewMode.Insert);
        }

        protected void lnkInsertar_Click(object sender, EventArgs e)
        {
            CambiarModo(FormViewMode.Insert);
        }

        protected void lnkEdiar_Click(object sender, EventArgs e)
        {
            CambiarModo(FormViewMode.Edit);
        }
        private void CambiarModo(FormViewMode pModo)
        {
            fvProyecto.ChangeMode(pModo);
            InicializarValores(pModo);
        }
        protected void InicializarValores(FormViewMode pModo)
        {
            //if (pModo == FormViewMode.Insert)
            //{
            //    TextBox _text;
            //    _text = (TextBox)fvProyecto.FindControl("FactibilidadTextBox");
            //    _text.Text = "0";

            //    _text = (TextBox)fvProyecto.FindControl("CostoDirectoTextBox");
            //    _text.Text = "0";

            //    _text = (TextBox)fvProyecto.FindControl("EstadoTextBox");
            //    _text.Text = "0";

            //    _text = (TextBox)fvProyecto.FindControl("ImporteOpcionalesDolaresTextBox");
            //    _text.Text = "0";

            //    _text = (TextBox)fvProyecto.FindControl("ImporteOpcionalesPesosTextBox");
            //    _text.Text = "0";

            //    _text = (TextBox)fvProyecto.FindControl("ImporteTotalDolaresTextBox");
            //    _text.Text = "0";

            //    _text = (TextBox)fvProyecto.FindControl("ImporteTotalPesosTextBox");
            //    _text.Text = "0";

            //    _text = (TextBox)fvProyecto.FindControl("OfertaComercialNumeroTextBox");
            //    _text.Text = "0";
            //}
        }
        protected void lnkCancelar_Click(object sender, EventArgs e)
        {
            CambiarModo(FormViewMode.ReadOnly);
        }


        protected void fvProyecto_ItemInserted(object sender, FormViewInsertedEventArgs e)
        {
            
        }

        protected void fvProyecto_ItemInserting(object sender, FormViewInsertEventArgs e)
        {
            ComprobarValores(sender, e);
            CambiarModo(FormViewMode.ReadOnly);
        }
        private void ComprobarValores(object sender, FormViewInsertEventArgs e)
        {   
            ////Compruebo fechas
            //DateTime _fecha;
            //DateTime _fechaInicio = DateTime.Parse("01/01/1900");
            //if((DateTime.TryParse((e.Values["FechaEntregaPropuestaEstimada"]).ToString(), out _fecha) == false)
            //    || (_fecha < _fechaInicio))
            //    e.Values["FechaEntregaPropuestaEstimada"] = _fechaInicio;

            //if ((DateTime.TryParse((e.Values["FechaProbableAdjudicacion"]).ToString(), out _fecha) == false)
            //    || (_fecha < _fechaInicio))
            //    e.Values["FechaProbableAdjudicacion"] = _fechaInicio;

            //if ((DateTime.TryParse((e.Values["FechaEntregaPropuestaReal"]).ToString(), out _fecha) == false)
            //    || (_fecha < _fechaInicio))
            //    e.Values["FechaEntregaPropuestaReal"] = _fechaInicio;

            ////Compruebo enteros
            //int _entero;
            //if (int.TryParse((e.Values["Factibilidad"]).ToString(), out _entero) == false)
            //    e.Values["Factibilidad"] = 0;

            //if (int.TryParse((e.Values["OfertaComercialNumero"]).ToString(), out _entero) == false)
            //    e.Values["OfertaComercialNumero"] = 0;

            //// Compruebo Decimal
            //decimal _decimal;
            //if (decimal.TryParse((e.Values["CostoDirecto"]).ToString(), out _decimal) == false)
            //    e.Values["CostoDirecto"] = decimal.Zero;

            //if (decimal.TryParse((e.Values["ImporteOpcionalesDolares"]).ToString(), out _decimal) == false)
            //    e.Values["ImporteOpcionalesDolares"] = decimal.Zero;

            //if (decimal.TryParse((e.Values["ImporteOpcionalesPesos"]).ToString(), out _decimal) == false)
            //    e.Values["ImporteOpcionalesPesos"] = decimal.Zero;

            //if (decimal.TryParse((e.Values["ImporteTotalDolares"]).ToString(), out _decimal) == false)
            //    e.Values["ImporteTotalDolares"] = decimal.Zero;

            //if (decimal.TryParse((e.Values["ImporteTotalPesos"]).ToString(), out _decimal) == false)
            //    e.Values["ImporteTotalPesos"] = decimal.Zero;
        }
        protected void fvProyecto_ItemDeleted(object sender, FormViewDeletedEventArgs e)
        {
            Response.Redirect("Proyectos.aspx");
        }

        protected void dsProyecto_Inserted(object sender, ObjectDataSourceStatusEventArgs e)
        {
            int id = ((ONProyecto)e.ReturnValue).ID;
            Response.Redirect("ProyectoDetalle.aspx?ID=" + id.ToString());
        }

        protected void lnkAdministrarProyectos_Click(object sender, EventArgs e)
        {
            Response.Redirect("AdministrarProyectosAsociados.aspx?ID=" + Request.QueryString["ID"]);
        }

        protected void fvProyecto_ModeChanged(object sender, EventArgs e)
        {
            
        }

        protected void CostoDirectoTextBox_TextChanged(object sender, EventArgs e)
        {

        }

        protected void EstadoTextBox_TextChanged(object sender, EventArgs e)
        {

        }

        protected void ImporteOpcionalesDolaresTextBox_TextChanged(object sender, EventArgs e)
        {

        }

        protected void ImporteOpcionalesPesosTextBox_TextChanged(object sender, EventArgs e)
        {

        }

        protected void ImporteTotalDolaresTextBox_TextChanged(object sender, EventArgs e)
        {

        }

        protected void fvProyecto_ModeChanging(object sender, FormViewModeEventArgs e)
        {
            
        }

        protected void ValorInicial(object sender, EventArgs e)
        {
            TextBox _tx = (TextBox)sender;
            if (_tx.Text == "")
                _tx.Text = "0";
        }

        protected void dsClienteAsociado_DataBound(object sender, EventArgs e)
        {
            if ((Request.QueryString["ID"] == "-1")
                && (Request.QueryString["IDC"] != null)
                && (Request.QueryString["IDC"] != ""))
                try
                {//selecciono el cliente en el combo
                    ((DropDownList)sender).SelectedValue = Request.QueryString["IDC"];
                }
                catch { ((DropDownList)sender).SelectedIndex = -1; }
        }

        protected void dsClientesDisponibles_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            ((Site1)Master).AsignarParametrosParaBuscarClientesDeComercialEnMaster(sender,e);
        }

        protected void lnkCliente_Click(object sender, EventArgs e)
        {
            string _id = ((LinkButton)sender).CommandArgument.ToString();
            Response.Redirect("ClienteDetalle.aspx?ID=" + _id);
        }

        protected void ddlCliente_DataBound(object sender, EventArgs e)
        {
           
        }

        protected void ddlCliente_DataBinding(object sender, EventArgs e)
        {
            bool _encontrado = false;
            int _idProyecto;
            DropDownList _ddl = (DropDownList)sender;

            if (Request["ID"] != null)
            {
                _idProyecto = int.Parse(Request["ID"]);

                //creo el objeto Proyecto para obtener el cliente
                ONProyecto _proyecto = ONProyecto.CrearProyecto(_idProyecto);

                if (_proyecto.IdCliente > -1)
                {
                    int _idCliente = _proyecto.IdCliente;
                    for (int i = 0; i <  _ddl.Items.Count; i++)
                        if (_ddl.Items[i].Value == _idCliente.ToString())
                        {
                            _ddl.SelectedIndex = i;
                            _encontrado = true;
                        }

                    if (_encontrado == false)
                    {// si no se encontro creo el elemento y lo agrego al combo
                        ONCliente _cliente = ONCliente.CrearCliente(_idCliente);
                        ListItem _li = new ListItem(_cliente.RazonSocial, _cliente.ID.ToString());
                        _ddl.Items.Insert(1, _li);
                        _ddl.SelectedIndex = 1; // elijo el primero
                    }
                }
            }
        }            
        

        protected void ddlCliente_SelectedIndexChanged(object sender, EventArgs e)
        {
        }

    }
}
